﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Fly.Common.Linq;
using RN.ERP.DTO;
using Fly.Log;

namespace RN.ERP.BLL
{
    /// <summary>
    /// 加入地区编号限制的企业BLL基类。
    /// 同时引入动态表达式以解决动态查询的问题。
    /// </summary>
    public abstract partial class BaseEnterpriseBLL
    {
        public virtual IList<CompanyInfo> GetCompanyInfo(
            IList<QueryCompanyInfoCondition> queryCondition,
            int pageSize,
            int pageNum,
            string areaCondition)
        {
            return null;
        }

        public virtual int GetCompanyCount(IList<QueryCompanyInfoCondition> queryCondition, string areaCondition)
        {
            return 0;
        }

        public virtual IList<CorpQuality> GetCorpQualityInfo(
            IList<QueryCorpQualityInfoCondition> queryCondition,
            int pageSize,
            int pageNum,
            string areaCondition)
        {
            return null;
        }

        public virtual int GetCorpQualityCount(IList<QueryCorpQualityInfoCondition> queryCondition, string areaCondition)
        {
            return 0;
        }

        public virtual CompanyInfo GetCompanyBisicInfo(IList<QueryCompanyInfoCondition> queryCondition, string areaCode)
        {
            return null;
        }


         /// <summary>
        /// 聊城批量导入企业信息,并生成用户信息
        /// </summary>
        /// <param name="corps"></param>
        /// <param name="areacode"></param>
        /// <returns></returns>
        public virtual List<ImportCompanyInfo> BatchImportCorpUser(List<ImportCompanyInfo> corpList, string areacode)
        {
            return null; 
        }



        /// <summary>
        /// 企业自有或租赁的主要机械设备列表查询
        /// </summary>       
        public virtual List<DTO.tb_corp_MachineInfo> GetCorpMachineInfoList(int pageIndex, int pageSize, out int count, Guid corpGuid, bool? isOwn, string areaCode)
        {
            count = 0;            
            return null;
        }

        /// <summary>
        /// 企业自有或租赁的主要机械设备查询
        /// </summary>  
        public virtual DTO.tb_corp_MachineInfo GetCorpMachineInfoByID(Guid corpGuid, int id, string areaCode)
        {
            return null;
        }

        /// <summary>
        /// 添加企业自有或租赁的主要机械设备
        /// </summary>       
        public virtual bool AddCorpMachineInfo(DTO.tb_corp_MachineInfo model, string areaCode)
        {            
            return false;
        }




        /// <summary>
        /// 逻辑删除企业自有或租赁的主要机械设备列表查询
        /// </summary>       
        public virtual bool DelCorpMachineInfo(int id, string areaCode)
        {
            return true;
        }
        /// <summary>
        /// 修改企业自有或租赁的主要机械设备
        /// </summary>       
        public virtual bool UpdateCorpMachineInfo(DTO.tb_corp_MachineInfo model, string areaCode)
        {
            return false;
        }


        /// <summary>
        /// 企业企业财务经营状况列表查询
        /// </summary>       
        public virtual List<DTO.tb_corp_FinancialInfo> GetCorpFinancialInfoList(string corpName, int pageIndex, int pageSize, Guid corpGuid, int? currentYear, string areaCode, out int count)
        {
            count = 0;           
            return null;
        }

         /// <summary>
        /// 企业企业财务经营状况查询
        /// </summary> 
        public virtual DTO.tb_corp_FinancialInfo GetCorpFinancialInfoByID(Guid corpGuid, int id, string areaCode)
        {
            return null;
        }

        public virtual DTO.tb_corp_FinancialInfo GetCorpFinancialInfoByYear(Guid corpGuid, int? currentYear, string areaCode)
        {
            return null;
        }


        /// <summary>
        /// 添加企业财务经营状况
        /// </summary>       
        public virtual bool AddCorpFinancialInfo(DTO.tb_corp_FinancialInfo model, string areaCode)
        {            
            return false;
        }




        /// <summary>
        /// 逻辑企业财务经营状况
        /// </summary>       
        public virtual bool DelCorpFinancialInfo(int id, string areaCode)
        {          
            return true;
        }
        /// <summary>
        /// 修改企业财务经营状况
        /// </summary>       
        public virtual bool UpdateCorpFinancialInfo(DTO.tb_corp_FinancialInfo model, string areaCode)
        {
            return false;
        }
       /// <summary>
        /// 修改企业类型
        /// </summary>      
        public virtual OperationResult UpdateCorpType(string corpUserGuid, int roleid, int classid, string areaCode, string OptManGuid, string OptManName)
        {
            return null;
        }
        /// <summary>
        /// 修改企业管理地
        /// </summary>
        public virtual OperationResult UpdateCorpManageZone(string corpUserGuid, string areaCode, string OptManGuid, string OptManName)
        {
            return null;
        }

           /// <summary>
        /// 获取聊城企业信息
        /// </summary>
        /// <param name="count"></param>
        /// <param name="pageNum"></param>
        /// <param name="pageSize"></param>
        /// <param name="corpName"></param>
        /// <param name="classid"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        public virtual List<DTO.CompanyInfo> GetCorpListLC(out int count, int pageNum, int pageSize, string corpName, int classid, string areaCode)
        {
            count = 0;
            return null;
        }
    }
}
